/**
 * <p>文件名:		GlobalTime.java</p>
 * <p>版权:		CopyrightTag</p>
 * <p>公司:		CompanyTag</p>
 * @author		周华彬(zhouhuabin@ctfo.com)
 */

package com.caits.lbs.framework.utils;

import java.util.Date;

/**
 * <p>
 * GlobalTime
 * </p>
 * <p>
 * TODO
 * </p>
 * 
 * @author 周华彬(zhouhuabin@ctfo.com)
 * @version 0.0.0
 *          <table style="border:1px solid gray;">
 *          <tr>
 *          <th width="100px">版本号</th><th width="100px">动作</th><th
 *          width="100px">修改人</th><th width="100px">修改时间</th>
 *          </tr>
 *          <!-- 以 Table 方式书写修改历史 -->
 *          <tr>
 *          <td>0.0.0</td>
 *          <td>创建类</td>
 *          <td>周华彬</td>
 *          <td>2008-7-14 下午02:21:10</td>
 *          </tr>
 *          <tr>
 *          <td>XXX</td>
 *          <td>XXX</td>
 *          <td>XXX</td>
 *          <td>XXX</td>
 *          </tr>
 *          </table>
 */
public class GlobalTime {

	/**
	 * 构造器
	 */
	private GlobalTime() {
		// TODO Auto-generated constructor stub
	}

	

	/**
	 * 统一的获取当前时间的方法，可以使用各种方式进行修正，获得的是一个相对稳定的时间源
	 * 
	 * @return
	 */
	public static long globalTimeMillis() {
		return System.currentTimeMillis();
	}

	/**
	 * 获取全局时间的秒数
	 * 
	 * @return
	 */
	public static long globalTimeUtc() {
		return globalTimeMillis() / 1000l;
	}

	/**
	 * 获得当前时间
	 * 
	 * @return
	 */
	public static Date globalTime() {
		return new Date(System.currentTimeMillis());
	}

	/**
	 * 系统当前时间
	 * 
	 * @return
	 */
	public static long systemTimeMillis() {
		return System.currentTimeMillis();
	}

	/**
	 * 系统当前时间
	 * 
	 * @return
	 */
	public static Date systemTime() {
		return new Date(System.currentTimeMillis());
	}

	/**
	 * 获取当前utc时间
	 * 
	 * @return
	 */
	public static int systemTimeUtc() {
		return (int) (systemTimeMillis() / 1000);
	}

	/**
	 * FIXME
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
